
package org.ufida.entitydata;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
import businessentity.business.ubf.ufsoft.EntityKey;
import data.util.ubf.ufsoft.MultiLangDataDict;


/**
 * <p>Java class for UFIDA.U9.Base.FlexField.KeyFlexField.KeyFlexFieldStruData complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="UFIDA.U9.Base.FlexField.KeyFlexField.KeyFlexFieldStruData">
 *   &lt;complexContent>
 *     &lt;extension base="{http://www.UFIDA.org/EntityData}UFSoft.UBF.Business.DataTransObjectBase">
 *       &lt;sequence>
 *         &lt;element name="KeyFlexFieldDef" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="KeyFlexFieldDef_SKey" type="{UFSoft.UBF.Business.BusinessEntity}EntityKey" minOccurs="0"/>
 *         &lt;element name="Multi_Name" type="{UFSoft.UBF.Util.Data}MultiLangDataDict" minOccurs="0"/>
 *         &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="m_createdBy" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="m_createdOn" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *         &lt;element name="m_flexFieldFlows" type="{http://www.UFIDA.org/EntityData}ArrayOfUFIDA.U9.Base.FlexField.KeyFlexField.FlexFieldFlowData" minOccurs="0"/>
 *         &lt;element name="m_iD" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="m_isAutoFlow" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="m_isCompiled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="m_isCrossValidate" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="m_isDefault" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="m_isDynamicIncrease" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="m_isFreeze" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="m_masterSite" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="m_modifiedBy" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="m_modifiedOn" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *         &lt;element name="m_number" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="m_rules" type="{http://www.UFIDA.org/EntityData}ArrayOfUFIDA.U9.Base.FlexField.KeyFlexField.CrossValidateRuleData" minOccurs="0"/>
 *         &lt;element name="m_segments" type="{http://www.UFIDA.org/EntityData}ArrayOfUFIDA.U9.Base.FlexField.KeyFlexField.KeyFlexSegmentData" minOccurs="0"/>
 *         &lt;element name="m_separator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="m_sysVersion" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/extension>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UFIDA.U9.Base.FlexField.KeyFlexField.KeyFlexFieldStruData", propOrder = {
    "keyFlexFieldDef",
    "keyFlexFieldDefSKey",
    "multiName",
    "name",
    "mCreatedBy",
    "mCreatedOn",
    "mFlexFieldFlows",
    "mid",
    "mIsAutoFlow",
    "mIsCompiled",
    "mIsCrossValidate",
    "mIsDefault",
    "mIsDynamicIncrease",
    "mIsFreeze",
    "mMasterSite",
    "mModifiedBy",
    "mModifiedOn",
    "mNumber",
    "mRules",
    "mSegments",
    "mSeparator",
    "mSysVersion"
})
public class UFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexFieldStruData
    extends UFSoftUBFBusinessDataTransObjectBase
{

    @XmlElement(name = "KeyFlexFieldDef")
    protected Long keyFlexFieldDef;
    @XmlElementRef(name = "KeyFlexFieldDef_SKey", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<EntityKey> keyFlexFieldDefSKey;
    @XmlElementRef(name = "Multi_Name", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<MultiLangDataDict> multiName;
    @XmlElementRef(name = "Name", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<String> name;
    @XmlElementRef(name = "m_createdBy", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<String> mCreatedBy;
    @XmlElement(name = "m_createdOn")
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar mCreatedOn;
    @XmlElementRef(name = "m_flexFieldFlows", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldFlexFieldFlowData> mFlexFieldFlows;
    @XmlElement(name = "m_iD")
    protected Long mid;
    @XmlElement(name = "m_isAutoFlow")
    protected Boolean mIsAutoFlow;
    @XmlElement(name = "m_isCompiled")
    protected Boolean mIsCompiled;
    @XmlElement(name = "m_isCrossValidate")
    protected Boolean mIsCrossValidate;
    @XmlElement(name = "m_isDefault")
    protected Boolean mIsDefault;
    @XmlElement(name = "m_isDynamicIncrease")
    protected Boolean mIsDynamicIncrease;
    @XmlElement(name = "m_isFreeze")
    protected Boolean mIsFreeze;
    @XmlElementRef(name = "m_masterSite", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<String> mMasterSite;
    @XmlElementRef(name = "m_modifiedBy", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<String> mModifiedBy;
    @XmlElement(name = "m_modifiedOn")
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar mModifiedOn;
    @XmlElement(name = "m_number")
    protected Integer mNumber;
    @XmlElementRef(name = "m_rules", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldCrossValidateRuleData> mRules;
    @XmlElementRef(name = "m_segments", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexSegmentData> mSegments;
    @XmlElementRef(name = "m_separator", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<String> mSeparator;
    @XmlElement(name = "m_sysVersion")
    protected Long mSysVersion;

    /**
     * Gets the value of the keyFlexFieldDef property.
     * 
     * @return
     *     possible object is
     *     {@link Long }
     *     
     */
    public Long getKeyFlexFieldDef() {
        return keyFlexFieldDef;
    }

    /**
     * Sets the value of the keyFlexFieldDef property.
     * 
     * @param value
     *     allowed object is
     *     {@link Long }
     *     
     */
    public void setKeyFlexFieldDef(Long value) {
        this.keyFlexFieldDef = value;
    }

    /**
     * Gets the value of the keyFlexFieldDefSKey property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link EntityKey }{@code >}
     *     
     */
    public JAXBElement<EntityKey> getKeyFlexFieldDefSKey() {
        return keyFlexFieldDefSKey;
    }

    /**
     * Sets the value of the keyFlexFieldDefSKey property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link EntityKey }{@code >}
     *     
     */
    public void setKeyFlexFieldDefSKey(JAXBElement<EntityKey> value) {
        this.keyFlexFieldDefSKey = ((JAXBElement<EntityKey> ) value);
    }

    /**
     * Gets the value of the multiName property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link MultiLangDataDict }{@code >}
     *     
     */
    public JAXBElement<MultiLangDataDict> getMultiName() {
        return multiName;
    }

    /**
     * Sets the value of the multiName property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link MultiLangDataDict }{@code >}
     *     
     */
    public void setMultiName(JAXBElement<MultiLangDataDict> value) {
        this.multiName = ((JAXBElement<MultiLangDataDict> ) value);
    }

    /**
     * Gets the value of the name property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setName(JAXBElement<String> value) {
        this.name = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the mCreatedBy property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getMCreatedBy() {
        return mCreatedBy;
    }

    /**
     * Sets the value of the mCreatedBy property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setMCreatedBy(JAXBElement<String> value) {
        this.mCreatedBy = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the mCreatedOn property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getMCreatedOn() {
        return mCreatedOn;
    }

    /**
     * Sets the value of the mCreatedOn property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setMCreatedOn(XMLGregorianCalendar value) {
        this.mCreatedOn = value;
    }

    /**
     * Gets the value of the mFlexFieldFlows property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldFlexFieldFlowData }{@code >}
     *     
     */
    public JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldFlexFieldFlowData> getMFlexFieldFlows() {
        return mFlexFieldFlows;
    }

    /**
     * Sets the value of the mFlexFieldFlows property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldFlexFieldFlowData }{@code >}
     *     
     */
    public void setMFlexFieldFlows(JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldFlexFieldFlowData> value) {
        this.mFlexFieldFlows = ((JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldFlexFieldFlowData> ) value);
    }

    /**
     * Gets the value of the mid property.
     * 
     * @return
     *     possible object is
     *     {@link Long }
     *     
     */
    public Long getMID() {
        return mid;
    }

    /**
     * Sets the value of the mid property.
     * 
     * @param value
     *     allowed object is
     *     {@link Long }
     *     
     */
    public void setMID(Long value) {
        this.mid = value;
    }

    /**
     * Gets the value of the mIsAutoFlow property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isMIsAutoFlow() {
        return mIsAutoFlow;
    }

    /**
     * Sets the value of the mIsAutoFlow property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setMIsAutoFlow(Boolean value) {
        this.mIsAutoFlow = value;
    }

    /**
     * Gets the value of the mIsCompiled property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isMIsCompiled() {
        return mIsCompiled;
    }

    /**
     * Sets the value of the mIsCompiled property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setMIsCompiled(Boolean value) {
        this.mIsCompiled = value;
    }

    /**
     * Gets the value of the mIsCrossValidate property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isMIsCrossValidate() {
        return mIsCrossValidate;
    }

    /**
     * Sets the value of the mIsCrossValidate property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setMIsCrossValidate(Boolean value) {
        this.mIsCrossValidate = value;
    }

    /**
     * Gets the value of the mIsDefault property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isMIsDefault() {
        return mIsDefault;
    }

    /**
     * Sets the value of the mIsDefault property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setMIsDefault(Boolean value) {
        this.mIsDefault = value;
    }

    /**
     * Gets the value of the mIsDynamicIncrease property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isMIsDynamicIncrease() {
        return mIsDynamicIncrease;
    }

    /**
     * Sets the value of the mIsDynamicIncrease property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setMIsDynamicIncrease(Boolean value) {
        this.mIsDynamicIncrease = value;
    }

    /**
     * Gets the value of the mIsFreeze property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isMIsFreeze() {
        return mIsFreeze;
    }

    /**
     * Sets the value of the mIsFreeze property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setMIsFreeze(Boolean value) {
        this.mIsFreeze = value;
    }

    /**
     * Gets the value of the mMasterSite property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getMMasterSite() {
        return mMasterSite;
    }

    /**
     * Sets the value of the mMasterSite property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setMMasterSite(JAXBElement<String> value) {
        this.mMasterSite = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the mModifiedBy property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getMModifiedBy() {
        return mModifiedBy;
    }

    /**
     * Sets the value of the mModifiedBy property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setMModifiedBy(JAXBElement<String> value) {
        this.mModifiedBy = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the mModifiedOn property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getMModifiedOn() {
        return mModifiedOn;
    }

    /**
     * Sets the value of the mModifiedOn property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setMModifiedOn(XMLGregorianCalendar value) {
        this.mModifiedOn = value;
    }

    /**
     * Gets the value of the mNumber property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getMNumber() {
        return mNumber;
    }

    /**
     * Sets the value of the mNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setMNumber(Integer value) {
        this.mNumber = value;
    }

    /**
     * Gets the value of the mRules property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldCrossValidateRuleData }{@code >}
     *     
     */
    public JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldCrossValidateRuleData> getMRules() {
        return mRules;
    }

    /**
     * Sets the value of the mRules property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldCrossValidateRuleData }{@code >}
     *     
     */
    public void setMRules(JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldCrossValidateRuleData> value) {
        this.mRules = ((JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldCrossValidateRuleData> ) value);
    }

    /**
     * Gets the value of the mSegments property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexSegmentData }{@code >}
     *     
     */
    public JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexSegmentData> getMSegments() {
        return mSegments;
    }

    /**
     * Sets the value of the mSegments property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexSegmentData }{@code >}
     *     
     */
    public void setMSegments(JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexSegmentData> value) {
        this.mSegments = ((JAXBElement<ArrayOfUFIDAU9BaseFlexFieldKeyFlexFieldKeyFlexSegmentData> ) value);
    }

    /**
     * Gets the value of the mSeparator property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getMSeparator() {
        return mSeparator;
    }

    /**
     * Sets the value of the mSeparator property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setMSeparator(JAXBElement<String> value) {
        this.mSeparator = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the mSysVersion property.
     * 
     * @return
     *     possible object is
     *     {@link Long }
     *     
     */
    public Long getMSysVersion() {
        return mSysVersion;
    }

    /**
     * Sets the value of the mSysVersion property.
     * 
     * @param value
     *     allowed object is
     *     {@link Long }
     *     
     */
    public void setMSysVersion(Long value) {
        this.mSysVersion = value;
    }

}
